package br.com.kees.managedBean;

import java.util.ArrayList;
import java.util.List;

import javassist.bytecode.stackmap.BasicBlock.Catch;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import org.primefaces.event.SelectEvent;

import br.com.kees.entidade.FormaPagamento;
import br.com.kees.exception.KeesException;
import br.com.kees.persistencia.FormaPagamentoDao;
import br.com.kees.util.Mensagem;

@ManagedBean(name= "formaPagamentoMb")
@ViewScoped
public class FormaPagamentoMb {
	
	private List<FormaPagamento> lista = new ArrayList<FormaPagamento>();
	private FormaPagamento obj = new FormaPagamento();
	
	@PostConstruct
	public void inicial() {
	try {
		lista = new FormaPagamentoDao().getAll();
	} catch (KeesException e) {
		Mensagem.erro("Erro ao Carregar Intens");
	  }
	}
	
	public void selecionar(SelectEvent event) {
		this.obj = (FormaPagamento) event.getObject();
	}
	
	public void limpar() {
		obj = new FormaPagamento();
	}
	
	public void inserir() {
		try{
			new FormaPagamentoDao().save(obj);
			inicial();
			limpar();
			Mensagem.sucesso("Inserido com Sucesso");
		}catch(Exception e) {
			Mensagem.erro("Erro ao Inserir");
		}
	}
	
	public void alterar() {
		try {
			new FormaPagamentoDao().edit(obj);
			inicial();
			limpar();
			Mensagem.sucesso("Alterado com Sucesso");
		}catch (Exception e) {
			Mensagem.erro("Erro ao Alterar");
		}
	}
	
	public void excluir() {
		try {
			new FormaPagamentoDao().delete(obj);
			inicial();
			limpar();
			Mensagem.sucesso("Excluido com Sucesso");
		}catch (Exception e) {
			Mensagem.erro("Excluido com Sucessor");
		}
	}

	public List<FormaPagamento> getLista() {
		return lista;
	}

	public void setLista(List<FormaPagamento> lista) {
		this.lista = lista;
	}

	public FormaPagamento getObj() {
		return obj;
	}

	public void setObj(FormaPagamento obj) {
		this.obj = obj;
	}
	
	

}
